﻿using System;

namespace diantou.dataModel
{
    /// <summary>
    /// 企业工作职位
    /// </summary>
    [fastCSharp.emit.jsonSerialize(IsAllMember = true)]
    [fastCSharp.emit.jsonParse(IsAllMember = true)]
    [fastCSharp.emit.dataSerialize(IsReferenceMember = false)]
    [fastCSharp.code.cSharp.webView.clientType(Name = "diantou.enterpriseJob")]
    [fastCSharp.code.cSharp.sqlModel]
    public partial class enterpriseJob
    {
        /// <summary>
        /// 工作职位标识
        /// </summary>
        [fastCSharp.code.cSharp.webView.outputAjax]
        public int Id;
        /// <summary>
        /// 企业用户标识
        /// </summary>
        public int UserId;
        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime PublishTime = fastCSharp.pub.MinTime;
        /// <summary>
        /// 工作地点
        /// </summary>
        public user.companyAddress Address = user.companyAddress.未设定;
        /// <summary>
        /// 职位名称
        /// </summary>
        [fastCSharp.emit.dataMember(MaxStringLength = 32)]
        public string Name;
        /// <summary>
        /// 薪资范围
        /// </summary>
        public enum salary : byte
        {
            不限,
            _2k以下,
            _2k_5k,
            _5k_10k,
            _10k_15k,
            _15k_25k,
            _25k_50k,
            _50k以上
        }
        /// <summary>
        /// 薪资范围
        /// </summary>
        public salary Salary;
        /// <summary>
        /// 工作经验
        /// </summary>
        public enum experience : byte
        {
            不限,
            应届毕业生,
            _1年以下,
            _1_3年,
            _3_5年,
            _5_10年,
            _10年以上
        }
        /// <summary>
        /// 工作经验
        /// </summary>
        public experience Experience;
        public examUser.education Education;
        /// <summary>
        /// 工作性质
        /// </summary>
        public enum workNature : byte
        {
            不限,
            全职,
            兼职,
            实习
        }
        /// <summary>
        /// 工作性质
        /// </summary>
        public workNature WorkNature;
        /// <summary>
        /// 发布状态
        /// </summary>
        public enum status : byte
        {
            All,
            /// <summary>
            /// 未发布
            /// </summary>
            None,
            /// <summary>
            /// 已发布
            /// </summary>
            Published,
            /// <summary>
            /// 已过期
            /// </summary>
            Expired,
        }
        /// <summary>
        /// 是否过期
        /// </summary>
        public status Status;
        /// <summary>
        /// 发布状态数量
        /// </summary>
        public static readonly int StatusSize = fastCSharp.Enum.GetMaxValue<status>(-1) + 1;

        /// <summary>
        /// 简略说明
        /// </summary>
        [fastCSharp.emit.dataMember(Group = 1, MaxStringLength = 256)]
        public string Remark = string.Empty;
        /// <summary>
        /// 报名链接
        /// </summary>
        [fastCSharp.emit.dataMember(Group = 1, IsAscii = true, MaxStringLength = 256)]
        public sqlMember.httpLinkEmpty Link = string.Empty;
        /// <summary>
        /// 工作描述
        /// </summary>
        [fastCSharp.emit.dataMember(Group = 1, MaxStringLength = 2048)]
        public string Description = string.Empty;
    }
}
